//
//  BSLCordovaViewController.h
//  bsl-sdk
//
//  Created by Fanty on 13-11-28.
//
//

#import <Cordova/CDVViewController.h>
#import <Foundation/Foundation.h>
#import "BSLWebView.h"

UIKIT_EXTERN NSString *const BSLWebViewLoadingNotification;
UIKIT_EXTERN NSString *const BSLWebViewDidLoadNotification;
UIKIT_EXTERN NSString *const BSLWebViewDidFailLoadNotification;
UIKIT_EXTERN NSString *const BSLWebViewDidRefreshNotification;

@interface BSLWebViewController : CDVViewController<UIScrollViewDelegate>

@property (nonatomic,assign) BOOL isLaunchController;

/**
 *  设置webview的加载路径，可本地可网络
 *
 *  @param URLStr 字符串类型
 */
- (void)setURL:(NSString *)URLStr;

/**
 *  设置webview的标识
 *
 *  @param ID 字符串类型
 */
- (void)setID:(NSString *)ID;

/**
 *  返回webview标识
 *
 *  @return 字符串类型，没有为nil
 */
- (NSString *)ID;

/**
 *  返回webview加载页面的路径
 *
 *  @return 字符串类型，没有为nil
 */
- (NSURL *)URL;

/**
 *  更改加载页面的路径
 *
 *  @param urlStr 主意NSURL类型
 */
- (void)loadUrl:(NSString*)urlStr;

/**
 *  设置视图的类型
 *
 *  @param style 字典
 */
- (void)setStyle:(NSDictionary *)style;

/**
 *  关闭视图
 *
 *  @param animation 视图动画，默认为从右滑出
 *  @param duration  动画时间，默认时间0.3s
 */
- (void)closeViewAnimation:(NSString *)animation duration:(NSTimeInterval)duration;

/**
 *  隐藏动画
 *
 *  @param animation 视图动画，暂无动画
 *  @param duration  动画时间
 */
- (void)hideView:(NSString *)animation duration:(NSTimeInterval)duration;

/**
 *  准备展示视图的动画
 *
 *  @param animation 弹出动画，默认从右滑进
 *  @param duration  动画时间，默认0.3s
 */
- (void)prepareTransitionWithAnimation:(NSString *)animation duration:(NSNumber *)duration;

/**
 *  执行展示视图的滑出动画
 *
 *  @param animation 弹出动画，默认从右滑进，或在prepareTransitionWithAnimation:duration:设置的动画
 *  @param duration  动画时间，默认0.3s
 */
- (void)animating:(NSString *)animation duration:(NSTimeInterval )duration;

/**
 *  设置下拉刷新
 *
 *  @param style 下拉时的样式
 */
- (void)setPullToRefreshWithStyle:(NSDictionary *)style;

/**
 *  停止下拉刷新动画
 */
- (void)endPullToRefresh;

/**
 *  后退到上次加载的页面
 */
- (void)goBack;

/**
 *  查询Webview窗口是否可前进
 *
 *  @return YES可前进，NO不可前进
 */
- (BOOL)canBack;

/**
 *  后退到上次加载的页面
 */
- (void)goForward;

/**
 *  查询Webview窗口是否可前进
 *
 *  @return YES可后退，NO不可后退
 */
- (BOOL)canForward;
@end
